/**
 * @filename:SignInService SignInfo
 * @project constract  V1.0
 * Copyright(c) 2018 bot Co. Ltd. 
 * All right reserved. 
 */
package com.znufe.exam.service;

import java.util.List;

import com.znufe.exam.domain.vote.SignIn;
import com.znufe.exam.viewmodel.vote.signin.ChangeSignInStatusRequestVM;
import com.znufe.exam.viewmodel.vote.signin.SignInCreateVM;

/**
 *  
 * @Description:  学生签到信息类——SERVICE
 * @Author:       bot   
 * @CreateDate:   SignInfo
 * @Version:      V1.0
 *    
 */
public interface SignInService extends BaseService<SignIn> {
	
	/**
	 * @explain 查询学生签到信息类对象
	 * @param   id
	 * @return  SignIn
	 * @author  bot
	 */
	SignIn selectByPrimaryKey(Integer id);

	/**
	 * selectByStuIdAndClassId
	 *
	 * @explain 按班级id与学生id查询签到对象
	 * @return: com.znufe.exam.domain.vote.SignIn
	 * @param: [requestVM]
	 * @Author: lin keqing
	 */
	SignIn selectByStuIdAndClassId(ChangeSignInStatusRequestVM requestVM);
	
	/**
	 * @explain 删除学生签到信息类对象
	 * @param   id
	 * @return  int
	 * @author  bot
	 */
	int deleteByPrimaryKey(Integer id);
	
	/**
	 * @explain 添加学生签到信息类对象
	 * @param   signIn
	 * @return  int
	 * @author  bot
	 */
	int insertSelective(SignIn signIn);
	
	/**
	 * @explain 修改学生签到信息类对象
	 * @param   signIn
	 * @return  int
	 * @author  bot
	 */
	int updateByPrimaryKeySelective(SignIn signIn);
	
	/**
	 * @explain 查询学生签到信息类集合
	 * @param   signIn
	 * @return  List<SignIn>
	 * @author  bot
	 */
	List<SignIn> querySignInList(SignIn signIn);

	/**
	 * insertBatchSignInInfo
	 *
	 * @explain 批量插入签到信息
	 * @return: int
	 * @param: [studentsSignInInfoToImport]
	 * @Author: lin keqing
	 */
	int insertBatchSignInInfo(List<SignInCreateVM> studentsSignInInfoToImport);

}